package com.taowan.xunbaozl.morning_speak.design_pattern.day11;

/**
 * com.taowan.xunbaozl.morning_speak.design_pattern.day11.app
 * Created by diql on 2016/3/6.
 * 优点

 * 观察者模式解除了主题和具体观察者的耦合，让耦合的双方都依赖于抽象，
 * 而不是依赖具体。从而使得各自的变化都不会影响另一边的变化。
 * 缺点
 *
 * 依赖关系并未完全解除，抽象通知者依旧依赖抽象的观察者。
 * 适用场景
 *
 * 一个对象的改变需要给变其它对象时，而且它不知道具体有多少个对象有待改变时。
 * 一个抽象某型有两个方面，当其中一个方面依赖于另一个方面，
 * 这时用观察者模式可以将这两者封装在独立的对象中使它们各自独立地改变和复用。
 * 来源： http://www.cnblogs.com/wangjq/archive/2012/07/12/2587966.html
 *
 * 事件委托： 像UiHandler一样。
 *
 */
public class Test {
    public static void main(String[] args) {
        ConCreateSubeject conSubject = new ConCreateSubeject();
        conSubject.attach(new ConCreateObserver(conSubject,"1111"));
        conSubject.attach(new ConCreateObserver(conSubject,"2222"));
        conSubject.setStatus("notify");
        conSubject.notifyObserver();
    }
}
